package com.xmtlxx.tms.domain.vo;

import com.xmtlxx.common.annotation.ExcelDictFormat;
import com.xmtlxx.common.convert.ExcelDictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;


/**
 * 线路视图对象 t_lines
 *
 * @author xmtlxx
 * @date 2022-08-15
 */
@Data
@ApiModel("线路视图对象")
@ExcelIgnoreUnannotated
public class LinesVo {

    private static final long serialVersionUID = 1L;

    /**
     * 线路ID
     */
    @ExcelProperty(value = "线路ID")
    @ApiModelProperty("线路ID")
    private String id;

    /**
     * 承运商ID
     */
    @ExcelProperty(value = "承运商ID")
    @ApiModelProperty("承运商ID")
    private String carrierId;

    /**
     * 部门ID
     */
    @ExcelProperty(value = "部门ID")
    @ApiModelProperty("部门ID")
    private Long deptId;

    /**
     * 线路名称
     */
    @ExcelProperty(value = "线路名称")
    @ApiModelProperty("线路名称")
    private String name;

    /**
     * 类型
     */
    @ExcelProperty(value = "类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "tms_line_type")
    @ApiModelProperty("类型")
    private String type;

    /**
     * 状态
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_common_status")
    @ApiModelProperty("状态")
    private String status;

    /**
     * 创建人
     */
    @ExcelProperty(value = "创建人")
    @ApiModelProperty("创建人")
    private String createBy;

    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间")
    @ApiModelProperty("创建时间")
    private Date createTime;

    /**
     * 更新人
     */
    @ExcelProperty(value = "更新人")
    @ApiModelProperty("更新人")
    private String updateBy;

    /**
     * 更新时间
     */
    @ExcelProperty(value = "更新时间")
    @ApiModelProperty("更新时间")
    private Date updateTime;

    /**
     * 删除标识
     */
    @ExcelProperty(value = "删除标识", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_del_flag")
    @ApiModelProperty("删除标识")
    private String delFlag;

    private String deptName;
    private String carrierName;

    private List<LinePoiVo> linePois;
    /**
     * 取件人
     */
    private Long pickupId;
    /**
     * 派件人
     */
    private Long dispatchId;

    /**
     * 是否展示承运商筛选
     */
    private Boolean isShow;

}
